package com.ourteam.system.dao;

import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Map;


/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 CST 2017
 * Auto Generate Date : 2018-07-31 15:13:32
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public class SysMessageDAOQueryBean extends BaseQueryBean {
    public SysMessageDAOQueryBean() {
        super();
    }

    public SysMessageDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }

    public SysMessageDAOQueryBean(BaseQueryBean aQueryBean, Map tableReplaceMap) {
        super(aQueryBean, tableReplaceMap);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();

        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }

        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria(this);
    }

    public void addIdSelectProperty() {
        addIdSelectProperty("id");
    }

    public void addIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.Id, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.Id, "id");
        }
    }

    public void addParentIdSelectProperty() {
        addParentIdSelectProperty("parentId");
    }

    public void addParentIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.ParentId, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.ParentId, "parentId");
        }
    }

    public void addSenderIdSelectProperty() {
        addSenderIdSelectProperty("senderId");
    }

    public void addSenderIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.SenderId, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.SenderId, "senderId");
        }
    }

    public void addTitleSelectProperty() {
        addTitleSelectProperty("title");
    }

    public void addTitleSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.Title, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.Title, "title");
        }
    }

    public void addContentSelectProperty() {
        addContentSelectProperty("content");
    }

    public void addContentSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.Content, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.Content, "content");
        }
    }

    public void addPrioritySelectProperty() {
        addPrioritySelectProperty("priority");
    }

    public void addPrioritySelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.Priority, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.Priority, "priority");
        }
    }

    public void addSendTimeSelectProperty() {
        addSendTimeSelectProperty("sendTime");
    }

    public void addSendTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.SendTime, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.SendTime, "sendTime");
        }
    }

    public void addStatusSelectProperty() {
        addStatusSelectProperty("status");
    }

    public void addStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.Status, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.Status, "status");
        }
    }

    public void addRemarksSelectProperty() {
        addRemarksSelectProperty("remarks");
    }

    public void addRemarksSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.Remarks, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.Remarks, "remarks");
        }
    }

    public void addSenderNameSelectProperty() {
        addSenderNameSelectProperty("senderName");
    }

    public void addSenderNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.SenderName, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.SenderName, "senderName");
        }
    }

    public void addSenderAccountSelectProperty() {
        addSenderAccountSelectProperty("senderAccount");
    }

    public void addSenderAccountSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysMessageDAO.SenderAccount, aAlias);
        } else {
            addSelectProperty(ISysMessageDAO.SenderAccount, "senderAccount");
        }
    }

    public void addAllSelectProperties() {
        addIdSelectProperty();

        addParentIdSelectProperty();

        addSenderIdSelectProperty();

        addTitleSelectProperty();

        addContentSelectProperty();

        addPrioritySelectProperty();

        addSendTimeSelectProperty();

        addStatusSelectProperty();

        addRemarksSelectProperty();

        addSenderNameSelectProperty();

        addSenderAccountSelectProperty();
    }

    public static class Criteria extends BaseWhereCriterion<SysMessageDAOQueryBean> {
        protected Criteria(SysMessageDAOQueryBean aParentObject) {
            super(aParentObject);
        }

        public Criteria andIdIsNull() {
            addCriterion(ISysMessageDAO.Id + " is null");

            return this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion(ISysMessageDAO.Id + " is not null");

            return this;
        }

        public Criteria andIdIsNotEmpty() {
            addCriterion(ISysMessageDAO.Id + " is not null AND " +
                ISysMessageDAO.Id + " <> ''");

            return this;
        }

        public Criteria andIdIsEmpty() {
            addCriterion("(" + ISysMessageDAO.Id + " is null OR " +
                ISysMessageDAO.Id + " = '')");

            return this;
        }

        public Criteria andIdEqualTo(long value) {
            return andIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIdEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " = ", value, "id");

            return this;
        }

        public Criteria andIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Id);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotEqualTo(long value) {
            return andIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIdNotEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToOrIsNull(long value) {
            return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " is null OR " +
                ISysMessageDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Id);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThan(long value) {
            return andIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIdGreaterThan(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " >", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Id);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(long value) {
            return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " >=", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Id);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThan(long value) {
            return andIdLessThan(Long.valueOf(value));
        }

        public Criteria andIdLessThan(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " <", value, "id");

            return this;
        }

        public Criteria andIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Id);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(long value) {
            return andIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.Id + " <=", value, "id");

            return this;
        }

        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Id);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdIn(long[] values) {
            if (values.length == 1) {
                return andIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysMessageDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysMessageDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Id + " in", Arrays.asList(values),
                    "id");

                return this;
            }
        }

        public Criteria andIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Id + " not in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Id + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdBetween(long value1, long value2) {
            addCriterion(ISysMessageDAO.Id + " between", value1, value2, "id");

            return this;
        }

        public Criteria andIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysMessageDAO.Id + " between", value1, value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(long value1, long value2) {
            addCriterion(ISysMessageDAO.Id + " not between", value1, value2,
                "id");

            return this;
        }

        public Criteria andIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysMessageDAO.Id + " not between", value1, value2,
                "id");

            return this;
        }

        public Criteria andParentIdIsNull() {
            addCriterion(ISysMessageDAO.ParentId + " is null");

            return this;
        }

        public Criteria andParentIdIsNotNull() {
            addCriterion(ISysMessageDAO.ParentId + " is not null");

            return this;
        }

        public Criteria andParentIdIsNotEmpty() {
            addCriterion(ISysMessageDAO.ParentId + " is not null AND " +
                ISysMessageDAO.ParentId + " <> ''");

            return this;
        }

        public Criteria andParentIdIsEmpty() {
            addCriterion("(" + ISysMessageDAO.ParentId + " is null OR " +
                ISysMessageDAO.ParentId + " = '')");

            return this;
        }

        public Criteria andParentIdEqualTo(long value) {
            return andParentIdEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " = ", value, "parentId");

            return this;
        }

        public Criteria andParentIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.ParentId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdNotEqualTo(long value) {
            return andParentIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdNotEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " <>", value, "parentId");

            return this;
        }

        public Criteria andParentIdNotEqualToOrIsNull(long value) {
            return andParentIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andParentIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " is null OR " +
                ISysMessageDAO.ParentId + " <>", value, "parentId");

            return this;
        }

        public Criteria andParentIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.ParentId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdGreaterThan(long value) {
            return andParentIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andParentIdGreaterThan(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " >", value, "parentId");

            return this;
        }

        public Criteria andParentIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.ParentId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(long value) {
            return andParentIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " >=", value, "parentId");

            return this;
        }

        public Criteria andParentIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.ParentId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdLessThan(long value) {
            return andParentIdLessThan(Long.valueOf(value));
        }

        public Criteria andParentIdLessThan(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " <", value, "parentId");

            return this;
        }

        public Criteria andParentIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.ParentId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdLessThanOrEqualTo(long value) {
            return andParentIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.ParentId + " <=", value, "parentId");

            return this;
        }

        public Criteria andParentIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.ParentId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdIn(long[] values) {
            if (values.length == 1) {
                return andParentIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysMessageDAO.ParentId + " in", values, "parentId");

                return this;
            }
        }

        public Criteria andParentIdNotIn(long[] values) {
            if (values.length == 1) {
                return andParentIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysMessageDAO.ParentId + " not in", values,
                    "parentId");

                return this;
            }
        }

        public Criteria andParentIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andParentIdEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.ParentId + " in", values, "parentId");

                return this;
            }
        }

        public Criteria andParentIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andParentIdNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.ParentId + " not in", values,
                    "parentId");

                return this;
            }
        }

        public Criteria andParentIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andParentIdEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.ParentId + " in",
                    Arrays.asList(values), "parentId");

                return this;
            }
        }

        public Criteria andParentIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andParentIdNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.ParentId + " not in",
                    Arrays.asList(values), "parentId");

                return this;
            }
        }

        public Criteria andParentIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.ParentId + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdBetween(long value1, long value2) {
            addCriterion(ISysMessageDAO.ParentId + " between", value1, value2,
                "parentId");

            return this;
        }

        public Criteria andParentIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysMessageDAO.ParentId + " between", value1, value2,
                "parentId");

            return this;
        }

        public Criteria andParentIdNotBetween(long value1, long value2) {
            addCriterion(ISysMessageDAO.ParentId + " not between", value1,
                value2, "parentId");

            return this;
        }

        public Criteria andParentIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysMessageDAO.ParentId + " not between", value1,
                value2, "parentId");

            return this;
        }

        public Criteria andSenderIdIsNull() {
            addCriterion(ISysMessageDAO.SenderId + " is null");

            return this;
        }

        public Criteria andSenderIdIsNotNull() {
            addCriterion(ISysMessageDAO.SenderId + " is not null");

            return this;
        }

        public Criteria andSenderIdIsNotEmpty() {
            addCriterion(ISysMessageDAO.SenderId + " is not null AND " +
                ISysMessageDAO.SenderId + " <> ''");

            return this;
        }

        public Criteria andSenderIdIsEmpty() {
            addCriterion("(" + ISysMessageDAO.SenderId + " is null OR " +
                ISysMessageDAO.SenderId + " = '')");

            return this;
        }

        public Criteria andSenderIdEqualTo(long value) {
            return andSenderIdEqualTo(Long.valueOf(value));
        }

        public Criteria andSenderIdEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " = ", value, "senderId");

            return this;
        }

        public Criteria andSenderIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdNotEqualTo(long value) {
            return andSenderIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andSenderIdNotEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " <>", value, "senderId");

            return this;
        }

        public Criteria andSenderIdNotEqualToOrIsNull(long value) {
            return andSenderIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andSenderIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " is null OR " +
                ISysMessageDAO.SenderId + " <>", value, "senderId");

            return this;
        }

        public Criteria andSenderIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdGreaterThan(long value) {
            return andSenderIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andSenderIdGreaterThan(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " >", value, "senderId");

            return this;
        }

        public Criteria andSenderIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdGreaterThanOrEqualTo(long value) {
            return andSenderIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andSenderIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " >=", value, "senderId");

            return this;
        }

        public Criteria andSenderIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdLessThan(long value) {
            return andSenderIdLessThan(Long.valueOf(value));
        }

        public Criteria andSenderIdLessThan(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " <", value, "senderId");

            return this;
        }

        public Criteria andSenderIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdLessThanOrEqualTo(long value) {
            return andSenderIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andSenderIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysMessageDAO.SenderId + " <=", value, "senderId");

            return this;
        }

        public Criteria andSenderIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdIn(long[] values) {
            if (values.length == 1) {
                return andSenderIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderId + " in", values, "senderId");

                return this;
            }
        }

        public Criteria andSenderIdNotIn(long[] values) {
            if (values.length == 1) {
                return andSenderIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderId + " not in", values,
                    "senderId");

                return this;
            }
        }

        public Criteria andSenderIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andSenderIdEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.SenderId + " in", values, "senderId");

                return this;
            }
        }

        public Criteria andSenderIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andSenderIdNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.SenderId + " not in", values,
                    "senderId");

                return this;
            }
        }

        public Criteria andSenderIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andSenderIdEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderId + " in",
                    Arrays.asList(values), "senderId");

                return this;
            }
        }

        public Criteria andSenderIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andSenderIdNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderId + " not in",
                    Arrays.asList(values), "senderId");

                return this;
            }
        }

        public Criteria andSenderIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderId + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderIdBetween(long value1, long value2) {
            addCriterion(ISysMessageDAO.SenderId + " between", value1, value2,
                "senderId");

            return this;
        }

        public Criteria andSenderIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysMessageDAO.SenderId + " between", value1, value2,
                "senderId");

            return this;
        }

        public Criteria andSenderIdNotBetween(long value1, long value2) {
            addCriterion(ISysMessageDAO.SenderId + " not between", value1,
                value2, "senderId");

            return this;
        }

        public Criteria andSenderIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysMessageDAO.SenderId + " not between", value1,
                value2, "senderId");

            return this;
        }

        public Criteria andTitleIsNull() {
            addCriterion(ISysMessageDAO.Title + " is null");

            return this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion(ISysMessageDAO.Title + " is not null");

            return this;
        }

        public Criteria andTitleIsNotEmpty() {
            addCriterion(ISysMessageDAO.Title + " is not null AND " +
                ISysMessageDAO.Title + " <> ''");

            return this;
        }

        public Criteria andTitleIsEmpty() {
            addCriterion("(" + ISysMessageDAO.Title + " is null OR " +
                ISysMessageDAO.Title + " = '')");

            return this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion(ISysMessageDAO.Title + " = ", value, "title");

            return this;
        }

        public Criteria andTitleEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Title);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andTitleEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.Title + " <>", value, "title");

            return this;
        }

        public Criteria andTitleNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.Title + " is null OR " +
                ISysMessageDAO.Title + " <>", value, "title");

            return this;
        }

        public Criteria andTitleNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Title);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andTitleNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion(ISysMessageDAO.Title + " >", value, "title");

            return this;
        }

        public Criteria andTitleGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Title);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andTitleGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Title + " >=", value, "title");

            return this;
        }

        public Criteria andTitleGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Title);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion(ISysMessageDAO.Title + " <", value, "title");

            return this;
        }

        public Criteria andTitleLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Title);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andTitleLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Title + " <=", value, "title");

            return this;
        }

        public Criteria andTitleLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Title);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andTitleLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Title + " like", buffer.toString(),
                "title");

            return this;
        }

        public Criteria andTitleNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Title + " not like", buffer.toString(),
                "title");

            return this;
        }

        public Criteria andTitleIn(List<String> values) {
            if (values.size() == 1) {
                return andTitleEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Title + " in", values, "title");

                return this;
            }
        }

        public Criteria andTitleNotIn(List<String> values) {
            if (values.size() == 1) {
                return andTitleNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Title + " not in", values, "title");

                return this;
            }
        }

        public Criteria andTitleIn(String[] values) {
            if (values.length == 1) {
                return andTitleEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Title + " in",
                    Arrays.asList(values), "title");

                return this;
            }
        }

        public Criteria andTitleNotIn(String[] values) {
            if (values.length == 1) {
                return andTitleNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Title + " not in",
                    Arrays.asList(values), "title");

                return this;
            }
        }

        public Criteria andTitleIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Title + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Title + " between", value1, value2,
                "title");

            return this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Title + " not between", value1, value2,
                "title");

            return this;
        }

        public Criteria andContentIsNull() {
            addCriterion(ISysMessageDAO.Content + " is null");

            return this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion(ISysMessageDAO.Content + " is not null");

            return this;
        }

        public Criteria andContentIsNotEmpty() {
            addCriterion(ISysMessageDAO.Content + " is not null AND " +
                ISysMessageDAO.Content + " <> ''");

            return this;
        }

        public Criteria andContentIsEmpty() {
            addCriterion("(" + ISysMessageDAO.Content + " is null OR " +
                ISysMessageDAO.Content + " = '')");

            return this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion(ISysMessageDAO.Content + " = ", value, "content");

            return this;
        }

        public Criteria andContentEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Content);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andContentEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.Content + " <>", value, "content");

            return this;
        }

        public Criteria andContentNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.Content + " is null OR " +
                ISysMessageDAO.Content + " <>", value, "content");

            return this;
        }

        public Criteria andContentNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Content);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andContentNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion(ISysMessageDAO.Content + " >", value, "content");

            return this;
        }

        public Criteria andContentGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Content);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andContentGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Content + " >=", value, "content");

            return this;
        }

        public Criteria andContentGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Content);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andContentGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion(ISysMessageDAO.Content + " <", value, "content");

            return this;
        }

        public Criteria andContentLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Content);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andContentLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Content + " <=", value, "content");

            return this;
        }

        public Criteria andContentLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Content);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andContentLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Content + " like", buffer.toString(),
                "content");

            return this;
        }

        public Criteria andContentNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Content + " not like",
                buffer.toString(), "content");

            return this;
        }

        public Criteria andContentIn(List<String> values) {
            if (values.size() == 1) {
                return andContentEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Content + " in", values, "content");

                return this;
            }
        }

        public Criteria andContentNotIn(List<String> values) {
            if (values.size() == 1) {
                return andContentNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Content + " not in", values,
                    "content");

                return this;
            }
        }

        public Criteria andContentIn(String[] values) {
            if (values.length == 1) {
                return andContentEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Content + " in",
                    Arrays.asList(values), "content");

                return this;
            }
        }

        public Criteria andContentNotIn(String[] values) {
            if (values.length == 1) {
                return andContentNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Content + " not in",
                    Arrays.asList(values), "content");

                return this;
            }
        }

        public Criteria andContentIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Content + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Content + " between", value1, value2,
                "content");

            return this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Content + " not between", value1,
                value2, "content");

            return this;
        }

        public Criteria andPriorityIsNull() {
            addCriterion(ISysMessageDAO.Priority + " is null");

            return this;
        }

        public Criteria andPriorityIsNotNull() {
            addCriterion(ISysMessageDAO.Priority + " is not null");

            return this;
        }

        public Criteria andPriorityIsNotEmpty() {
            addCriterion(ISysMessageDAO.Priority + " is not null AND " +
                ISysMessageDAO.Priority + " <> ''");

            return this;
        }

        public Criteria andPriorityIsEmpty() {
            addCriterion("(" + ISysMessageDAO.Priority + " is null OR " +
                ISysMessageDAO.Priority + " = '')");

            return this;
        }

        public Criteria andPriorityEqualTo(String value) {
            addCriterion(ISysMessageDAO.Priority + " = ", value, "priority");

            return this;
        }

        public Criteria andPriorityEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Priority);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPriorityEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.Priority + " <>", value, "priority");

            return this;
        }

        public Criteria andPriorityNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.Priority + " is null OR " +
                ISysMessageDAO.Priority + " <>", value, "priority");

            return this;
        }

        public Criteria andPriorityNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Priority);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPriorityNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityGreaterThan(String value) {
            addCriterion(ISysMessageDAO.Priority + " >", value, "priority");

            return this;
        }

        public Criteria andPriorityGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Priority);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPriorityGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Priority + " >=", value, "priority");

            return this;
        }

        public Criteria andPriorityGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Priority);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPriorityGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityLessThan(String value) {
            addCriterion(ISysMessageDAO.Priority + " <", value, "priority");

            return this;
        }

        public Criteria andPriorityLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Priority);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPriorityLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Priority + " <=", value, "priority");

            return this;
        }

        public Criteria andPriorityLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Priority);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPriorityLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Priority + " like", buffer.toString(),
                "priority");

            return this;
        }

        public Criteria andPriorityNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Priority + " not like",
                buffer.toString(), "priority");

            return this;
        }

        public Criteria andPriorityIn(List<String> values) {
            if (values.size() == 1) {
                return andPriorityEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Priority + " in", values, "priority");

                return this;
            }
        }

        public Criteria andPriorityNotIn(List<String> values) {
            if (values.size() == 1) {
                return andPriorityNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Priority + " not in", values,
                    "priority");

                return this;
            }
        }

        public Criteria andPriorityIn(String[] values) {
            if (values.length == 1) {
                return andPriorityEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Priority + " in",
                    Arrays.asList(values), "priority");

                return this;
            }
        }

        public Criteria andPriorityNotIn(String[] values) {
            if (values.length == 1) {
                return andPriorityNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Priority + " not in",
                    Arrays.asList(values), "priority");

                return this;
            }
        }

        public Criteria andPriorityIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Priority + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andPriorityBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Priority + " between", value1, value2,
                "priority");

            return this;
        }

        public Criteria andPriorityNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Priority + " not between", value1,
                value2, "priority");

            return this;
        }

        public Criteria andSendTimeIsNull() {
            addCriterion(ISysMessageDAO.SendTime + " is null");

            return this;
        }

        public Criteria andSendTimeIsNotNull() {
            addCriterion(ISysMessageDAO.SendTime + " is not null");

            return this;
        }

        public Criteria andSendTimeIsNotEmpty() {
            addCriterion(ISysMessageDAO.SendTime + " is not null AND " +
                ISysMessageDAO.SendTime + " <> ''");

            return this;
        }

        public Criteria andSendTimeIsEmpty() {
            addCriterion("(" + ISysMessageDAO.SendTime + " is null OR " +
                ISysMessageDAO.SendTime + " = '')");

            return this;
        }

        public Criteria andSendTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " = ", value,
                "sendTime");

            return this;
        }

        public Criteria andSendTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SendTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSendTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " <>", value,
                "sendTime");

            return this;
        }

        public Criteria andSendTimeNotEqualToOrIsNull(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " is null OR " +
                ISysMessageDAO.SendTime + " <>", value, "sendTime");

            return this;
        }

        public Criteria andSendTimeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SendTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSendTimeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " >", value,
                "sendTime");

            return this;
        }

        public Criteria andSendTimeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SendTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSendTimeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeGreaterThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " >=", value,
                "sendTime");

            return this;
        }

        public Criteria andSendTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SendTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSendTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " <", value,
                "sendTime");

            return this;
        }

        public Criteria andSendTimeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SendTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSendTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " <=", value,
                "sendTime");

            return this;
        }

        public Criteria andSendTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SendTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSendTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andSendTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysMessageDAO.SendTime + " in",
                    values, "sendTime");

                return this;
            }
        }

        public Criteria andSendTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andSendTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysMessageDAO.SendTime + " not in",
                    values, "sendTime");

                return this;
            }
        }

        public Criteria andSendTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andSendTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysMessageDAO.SendTime + " in",
                    Arrays.asList(values), "sendTime");

                return this;
            }
        }

        public Criteria andSendTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andSendTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysMessageDAO.SendTime + " not in",
                    Arrays.asList(values), "sendTime");

                return this;
            }
        }

        public Criteria andSendTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SendTime + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSendTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " between",
                value1, value2, "sendTime");

            return this;
        }

        public Criteria andSendTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysMessageDAO.SendTime + " not between",
                value1, value2, "sendTime");

            return this;
        }

        public Criteria andStatusIsNull() {
            addCriterion(ISysMessageDAO.Status + " is null");

            return this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion(ISysMessageDAO.Status + " is not null");

            return this;
        }

        public Criteria andStatusIsNotEmpty() {
            addCriterion(ISysMessageDAO.Status + " is not null AND " +
                ISysMessageDAO.Status + " <> ''");

            return this;
        }

        public Criteria andStatusIsEmpty() {
            addCriterion("(" + ISysMessageDAO.Status + " is null OR " +
                ISysMessageDAO.Status + " = '')");

            return this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion(ISysMessageDAO.Status + " = ", value, "status");

            return this;
        }

        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Status);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.Status + " is null OR " +
                ISysMessageDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Status);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion(ISysMessageDAO.Status + " >", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Status);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Status + " >=", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Status);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion(ISysMessageDAO.Status + " <", value, "status");

            return this;
        }

        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Status);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Status + " <=", value, "status");

            return this;
        }

        public Criteria andStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Status);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Status + " like", buffer.toString(),
                "status");

            return this;
        }

        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Status + " not like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Status + " in", values, "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Status + " not in", values, "status");

                return this;
            }
        }

        public Criteria andStatusIn(String[] values) {
            if (values.length == 1) {
                return andStatusEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Status + " in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andStatusNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Status + " not in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Status + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Status + " between", value1, value2,
                "status");

            return this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Status + " not between", value1,
                value2, "status");

            return this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion(ISysMessageDAO.Remarks + " is null");

            return this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion(ISysMessageDAO.Remarks + " is not null");

            return this;
        }

        public Criteria andRemarksIsNotEmpty() {
            addCriterion(ISysMessageDAO.Remarks + " is not null AND " +
                ISysMessageDAO.Remarks + " <> ''");

            return this;
        }

        public Criteria andRemarksIsEmpty() {
            addCriterion("(" + ISysMessageDAO.Remarks + " is null OR " +
                ISysMessageDAO.Remarks + " = '')");

            return this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion(ISysMessageDAO.Remarks + " = ", value, "remarks");

            return this;
        }

        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Remarks);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.Remarks + " is null OR " +
                ISysMessageDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Remarks);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion(ISysMessageDAO.Remarks + " >", value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Remarks);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Remarks + " >=", value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Remarks);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion(ISysMessageDAO.Remarks + " <", value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Remarks);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.Remarks + " <=", value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.Remarks);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Remarks + " like", buffer.toString(),
                "remarks");

            return this;
        }

        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.Remarks + " not like",
                buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Remarks + " in", values, "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.Remarks + " not in", values,
                    "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(String[] values) {
            if (values.length == 1) {
                return andRemarksEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Remarks + " in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(String[] values) {
            if (values.length == 1) {
                return andRemarksNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.Remarks + " not in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.Remarks + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Remarks + " between", value1, value2,
                "remarks");

            return this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.Remarks + " not between", value1,
                value2, "remarks");

            return this;
        }

        public Criteria andSenderNameIsNull() {
            addCriterion(ISysMessageDAO.SenderName + " is null");

            return this;
        }

        public Criteria andSenderNameIsNotNull() {
            addCriterion(ISysMessageDAO.SenderName + " is not null");

            return this;
        }

        public Criteria andSenderNameIsNotEmpty() {
            addCriterion(ISysMessageDAO.SenderName + " is not null AND " +
                ISysMessageDAO.SenderName + " <> ''");

            return this;
        }

        public Criteria andSenderNameIsEmpty() {
            addCriterion("(" + ISysMessageDAO.SenderName + " is null OR " +
                ISysMessageDAO.SenderName + " = '')");

            return this;
        }

        public Criteria andSenderNameEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderName + " = ", value, "senderName");

            return this;
        }

        public Criteria andSenderNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderName + " <>", value, "senderName");

            return this;
        }

        public Criteria andSenderNameNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.SenderName + " is null OR " +
                ISysMessageDAO.SenderName + " <>", value, "senderName");

            return this;
        }

        public Criteria andSenderNameNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameGreaterThan(String value) {
            addCriterion(ISysMessageDAO.SenderName + " >", value, "senderName");

            return this;
        }

        public Criteria andSenderNameGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderName + " >=", value, "senderName");

            return this;
        }

        public Criteria andSenderNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameLessThan(String value) {
            addCriterion(ISysMessageDAO.SenderName + " <", value, "senderName");

            return this;
        }

        public Criteria andSenderNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderName + " <=", value, "senderName");

            return this;
        }

        public Criteria andSenderNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.SenderName + " like",
                buffer.toString(), "senderName");

            return this;
        }

        public Criteria andSenderNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.SenderName + " not like",
                buffer.toString(), "senderName");

            return this;
        }

        public Criteria andSenderNameIn(List<String> values) {
            if (values.size() == 1) {
                return andSenderNameEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.SenderName + " in", values,
                    "senderName");

                return this;
            }
        }

        public Criteria andSenderNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andSenderNameNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.SenderName + " not in", values,
                    "senderName");

                return this;
            }
        }

        public Criteria andSenderNameIn(String[] values) {
            if (values.length == 1) {
                return andSenderNameEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderName + " in",
                    Arrays.asList(values), "senderName");

                return this;
            }
        }

        public Criteria andSenderNameNotIn(String[] values) {
            if (values.length == 1) {
                return andSenderNameNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderName + " not in",
                    Arrays.asList(values), "senderName");

                return this;
            }
        }

        public Criteria andSenderNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderName + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSenderNameBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.SenderName + " between", value1,
                value2, "senderName");

            return this;
        }

        public Criteria andSenderNameNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.SenderName + " not between", value1,
                value2, "senderName");

            return this;
        }

        public Criteria andSenderAccountIsNull() {
            addCriterion(ISysMessageDAO.SenderAccount + " is null");

            return this;
        }

        public Criteria andSenderAccountIsNotNull() {
            addCriterion(ISysMessageDAO.SenderAccount + " is not null");

            return this;
        }

        public Criteria andSenderAccountIsNotEmpty() {
            addCriterion(ISysMessageDAO.SenderAccount + " is not null AND " +
                ISysMessageDAO.SenderAccount + " <> ''");

            return this;
        }

        public Criteria andSenderAccountIsEmpty() {
            addCriterion("(" + ISysMessageDAO.SenderAccount + " is null OR " +
                ISysMessageDAO.SenderAccount + " = '')");

            return this;
        }

        public Criteria andSenderAccountEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " = ", value,
                "senderAccount");

            return this;
        }

        public Criteria andSenderAccountEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderAccount);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderAccountEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderAccountNotEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " <>", value,
                "senderAccount");

            return this;
        }

        public Criteria andSenderAccountNotEqualToOrIsNull(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " is null OR " +
                ISysMessageDAO.SenderAccount + " <>", value, "senderAccount");

            return this;
        }

        public Criteria andSenderAccountNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderAccount);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderAccountNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSenderAccountGreaterThan(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " >", value,
                "senderAccount");

            return this;
        }

        public Criteria andSenderAccountGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderAccount);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderAccountGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderAccountGreaterThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " >=", value,
                "senderAccount");

            return this;
        }

        public Criteria andSenderAccountGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderAccount);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderAccountGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSenderAccountLessThan(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " <", value,
                "senderAccount");

            return this;
        }

        public Criteria andSenderAccountLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderAccount);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderAccountLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSenderAccountLessThanOrEqualTo(String value) {
            addCriterion(ISysMessageDAO.SenderAccount + " <=", value,
                "senderAccount");

            return this;
        }

        public Criteria andSenderAccountLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysMessageDAO.SenderAccount);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSenderAccountLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSenderAccountLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.SenderAccount + " like",
                buffer.toString(), "senderAccount");

            return this;
        }

        public Criteria andSenderAccountNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysMessageDAO.SenderAccount + " not like",
                buffer.toString(), "senderAccount");

            return this;
        }

        public Criteria andSenderAccountIn(List<String> values) {
            if (values.size() == 1) {
                return andSenderAccountEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.SenderAccount + " in", values,
                    "senderAccount");

                return this;
            }
        }

        public Criteria andSenderAccountNotIn(List<String> values) {
            if (values.size() == 1) {
                return andSenderAccountNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysMessageDAO.SenderAccount + " not in", values,
                    "senderAccount");

                return this;
            }
        }

        public Criteria andSenderAccountIn(String[] values) {
            if (values.length == 1) {
                return andSenderAccountEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderAccount + " in",
                    Arrays.asList(values), "senderAccount");

                return this;
            }
        }

        public Criteria andSenderAccountNotIn(String[] values) {
            if (values.length == 1) {
                return andSenderAccountNotEqualTo(values[0]);
            } else {
                addCriterion(ISysMessageDAO.SenderAccount + " not in",
                    Arrays.asList(values), "senderAccount");

                return this;
            }
        }

        public Criteria andSenderAccountIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSenderAccountNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysMessageDAO.SenderAccount + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSenderAccountBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.SenderAccount + " between", value1,
                value2, "senderAccount");

            return this;
        }

        public Criteria andSenderAccountNotBetween(String value1, String value2) {
            addCriterion(ISysMessageDAO.SenderAccount + " not between", value1,
                value2, "senderAccount");

            return this;
        }
    }
}
